﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SipII
{
    /// <summary>
    /// 定义Sip2Server应该实现的功能
    /// </summary>
    public interface ISip2Server
    {
        /// <summary>
        /// 返回读者状态
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string PatronStatusResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 响应借书操作
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string CheckoutResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 响应还书操作
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string CheckinResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 返回ACS状态
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string AcsStatus(string terminalId, string requestCmd);

        /// <summary>
        /// 响应登录操作
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string LoginResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 返回读者信息
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string PatronInformationResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 响应结束读者会话操作
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string EndSessionResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 响应缴费操作
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string FeePaidResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 返回图书信息
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string ItemInformationResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 响应修改图书状态操作
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string ItemStatusUpdateResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 响应启用读者操作
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string PatronEnableResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 响应预留操作
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string HoldResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 响应单本续借操作
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string RenewResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 响应全部续借操作
        /// </summary>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string RenewAllResponse(string terminalId, string requestCmd);

        /// <summary>
        /// 响应停用读者证件
        /// </summary>
        /// <param name="terminalId"></param>
        /// <param name="requestCmd"></param>
        /// <returns></returns>
        string BlockPatronResponse(string terminalId, string requestCmd);

    }
}
